package com.heima.mapper;

import com.heima.pojo.Brand;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

public interface BrandMapper {
    /**
     * 查询所有品牌信息
     * @return
     */
    List<Brand> selectAll();

    /**
     * 根据id查询品牌信息:查看详情
     * @return
     */
    Brand selectById(int id);

    /**
     * 条件查询;根据状态、公司名称、品牌名称来查询
     */
    //方式1.依次输入三个参数
//    List<Brand> selectByCondition(@Param("status") int status,@Param("companyName")
//            String companyName,@Param("brandName") String brandName);
    //方式2.将参数封装成Brand对象传入，此时sql的占位符要和传入的参数顺序一样,sql是不需要修改的
//    List<Brand> selectByCondition(Brand brand);

    //方式3.传入一个map集合
//    List<Brand>selectByCondition(Map map);

    /**
     * 动态条件查询
     */
    List<Brand>selectByCondition(Map map);


    /**
     * 动态单条件查询（choose关键字）
     */

    List<Brand> selectByConditionSingle(Brand brand);

    /**
     * 添加数据
     */
    void add(Brand brand);

    int update(Brand brand);

    /**
     * 删除一个数据，根据id删除
     */
    void  deleteById(int id);

    /**
     * 批量删除数据
     */
    void deleteByIds(@Param("ids") int [] ids);

    /**
     * 登录测试
     */
    int  loginByIdandBrandNAme(@Param("id") int id ,@Param("BrandName") String BrandName);
}

